Skip to content

ci: skip modified target validation when no targets changed#3002

Open
juliosuas wants to merge 1 commit into
sherlock-project:masterfrom
juliosuas:fix/gnome-vcs-patched-clean
Open

ci: skip modified target validation when no targets changed#3002
juliosuas wants to merge 1 commit into
sherlock-project:masterfrom
juliosuas:fix/gnome-vcs-patched-clean

Conversation

@juliosuas

@juliosuas juliosuas commented Jun 10, 2026

Copy link
Copy Markdown

Summary

  • Add the missing guard to the Validate modified targets step so deletion-only manifest changes do not run the full live target validation suite with an empty --chunked-sites value.
  • Keep the change limited to .github/workflows/validate_modified_targets.yml.

Why

The workflow already discovers changed targets and skips manifest validation, summary generation, and commenting when changed_targets is empty. The pytest step was the only step without the same guard, so deletion-only changes produced an empty CHANGED_TARGETS value and accidentally ran validation against the entire target catalog.

Proof

  • PATH=.venv/bin:$PATH .venv/bin/python -m pytest -q --tb=short -m 'not online and not validate_targets' -> 14 passed, 975 deselected
  • PATH=.venv/bin:$PATH .venv/bin/python -m pytest -q tests/test_manifest.py::test_validate_manifest_against_local_schema tests/test_ux.py tests/test_unicode.py -> 10 passed
  • .venv/bin/python -m ruff check -> All checks passed
  • git diff --check upstream/master -> passed
  • Parsed .github/workflows/validate_modified_targets.yml with PyYAML -> passed
  • Local simulation of the deletion-only case confirmed changed_targets is empty for removed targets GNOME VCS,Patched, so the guarded validation step is skipped.

@juliosuas juliosuas force-pushed the fix/gnome-vcs-patched-clean branch from a41a4ab to 4e4861a Compare June 10, 2026 17:50
@juliosuas juliosuas changed the title fix: remove unstable GNOME VCS and Patched targets ci: skip modified target validation when no targets changed Jun 10, 2026
@juliosuas

Copy link
Copy Markdown
Author

Gentle maintainer ping on this small CI fix: it is still mergeable and limited to adding the missing guard on the modified-target validation pytest step.

The intent is to avoid running the full live target validation suite when a deletion-only manifest change leaves changed_targets empty. Local proof from the PR branch is in the description (ruff, focused pytest, workflow YAML parse, and deletion-only simulation all passed). Happy to adjust if you prefer a different guard location.

@juliosuas

Copy link
Copy Markdown
Author

Fresh validation from an isolated Linux host:

  • Parsed .github/workflows/validate_modified_targets.yml with PyYAML.
  • Confirmed Validate modified targets is guarded by steps.discover-modified.outputs.changed_targets != ''.
  • Simulated the guard behavior: empty changed_targets skips validation; one or more target paths still run validation.
  • Result: yaml_guard=PASS; guard_simulation=PASS.

This keeps the workflow change limited to skipping the validation step only when there are no modified targets to validate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant